<?php
		class LoginHandler{
		//Deklarera http://code.google.com/p/webbutvecklingphp2011/source/browse/trunk/Examples/L2/LikeView.php
		private $userName = "userName";
		private $m_adminName = 'Madde';
		private $m_adminPassword = '123';
		
		public function IsLoggedIn(){
			//Retunerar true ifall användaren är inloggad, annars false
			if((isset($_SESSION[$this->userName]))/* && (isset($_SESSION['password']))*/){
				return TRUE;
			}else{
				return FALSE;
			}
		}
		
		public function DoLogin($a_name, $a_password){
			
			//Retunerar true ifall användaren är inloggad annars false
			if(($this->m_adminName == $a_name) && ($this->m_adminPassword == $a_password)){
				$_SESSION[$this->userName]=$this->m_adminName;
				return true;
			}
			return FALSE;
		}
		
		public function DoLogout(){
			//Inga parametrar och inget returvärde
			if(isset($_SESSION[$this->userName])){
				unset($_SESSION[$this->userName]);
			}
		}
		
		//-------------------------------TEST-----------------------------------
		function Test(){
			
			//$name = 'Madde';
			//$password = '123';
			
			//Försätter oss i ett utloggat tillstånd
			$this->DoLogout();
			
			//Kontroll om användaren är inloggad
			if($this->IsLoggedIn()){
				echo "IsLoggedIn eller DoLogout är fel";
				return FALSE;
			}
				
			//Anropar DoLogin med rätta uppgifter
			if(!$this->DoLogin($this->m_adminName, $this->m_adminPassword)){
				echo "DoLogin är fel vid rätt inmatning";
				return FALSE;
			}
			
			//Testar om man är inloggad
			if($this->IsLoggedIn()==FALSE){
				echo "IsLoggedIn retunerar false vid korrekt inloggning";
				return FALSE;
			}
			
			//Om man kommer hit ska man vara inloggad
			$this->DoLogout();
			
			//Kontroll om man är inloggad efter utloggning.
			if($this->IsLoggedIn()){
				echo "IsLoggedIn retunerar true efter utloggning";
				return FALSE;
			}
			
			//Anropar DoLogin med fel lösenord
			if($this->DoLogin($this->m_adminName, "WrongPassword")){
				echo "DoLogin retunerar true vid felaktiga uppgifter_1";
				return FALSE;
			}

			//Testar DoLogin med fel användarnamn och rätt lösen
			if($this->DoLogin("WrongName", $this->m_adminPassword)){
				echo "DoLogin retunerar true vid felaktiga uppgifter_2";
				return FALSE;
			}

			//Loggar ut
			$this->DoLogout();

			//Kontrollerar om vi är inloggade med hjälp av IsLoggedIn
			if($this->IsLoggedIn()){
				echo "IsLoggedIn retunerar true efter utloggning";
				return FALSE;
			}
			
			return TRUE;
		}
	}